package final关键字;
/*
一·”final“关键字的概述与作用
    1.final概念：最终的，最后的
    2.final作用：用于修饰（类，方法和变量）
二·”final“关键字的特点
    1.被”final“修饰的类:不能被继承。（即不能再有子类，但可以有父类）
    2.被”final“修饰的方法:不能被重写，不能被“abstract”关键字共存，因为”abstract“类必须被继承有子类
    3.被”final“修饰的变量:其值只能被赋值一次，其后的赋值就不能改变它的值，会报错
    4.被”final“修饰的引用类型数据:说明该类型数据地址值不能变化，而他的属性值可以变更，但这样意义不大，一般不建议使用
        示例代码：
        final Animal an=new Animal();//修饰一个类的对象，即修饰一个引用类型数据
        an=new Animal();//这样会报错，这行代码
        an.name="张三";//属性值可以改变，但所修饰的对象的地址值不变，但这样意义不大，一般不建议使用
        an.name="李四";
 */
public class Test {
    public static void main(String[] args) {
        Animal a=new Animal();
        //测试对final修饰的变量二次赋值，会报错
        //a.s1=32;

        //测试对被”final“修饰的引用类型数据
        final Animal b=new Animal();
        b.s2=31;
        b.s3=33;
        System.out.println(b.s2);
        System.out.println(b.s3);
        System.out.println(b);//输出b对象的地址值
    }
}
